package cn.hfkh;

/*
3)、学士后班级有班级名称，班主任姓名，开班日期等属性，学生信息用数组表示。
用方法模拟 新生加入班级，以及获得班级人数的方法。
 
 */
/**
 * 班级类
 * 
 * @author DANIU
 *
 */
public class ClassRoom {

	// 班级编号
	public String classId;

	// 班级名称
	public String className;

	// 班主任姓名
	public String teacherName;

	// 开班时间
	public String openDate;

	/**
	 * 无参构造方法
	 */
	public ClassRoom() {

	}

	/**
	 * 带参的构造方法
	 * 
	 * @param classId
	 * @param className
	 * @param teacherName
	 * @param openDate
	 */
	public ClassRoom(String classId, String className, String teacherName, String openDate) {
		this.classId = classId;
		this.className = className;
		this.teacherName = teacherName;
		this.openDate = openDate;

	}

	// 学生集合初始化数组
	public Student[] students = new Student[30];

	// 新生加入班级方法
	public void addStudentToClass(Student stu) {
		// 遍历students集合
		for (int i = 0; i < students.length; i++) {
			if (students[i] == null) {
				students[i] = stu;
				break;
			}
		}
	}

	// 显示班级的学生信息
	public void showStudent() {
		for (Student student : students) {
			if (student != null) {
				student.sayHi(); // 为什么能直接调用学生类的方法,是因为定义学生类的集合时调用了学生类吗
			}
		}
	}

	// 获得班级人数的方法
	public int getClassNum() {
		int count = 0;
		for (int i = 0; i < students.length; i++) {
			if (students[i] != null) {
				count++;
			}
		}
		return count;
	}

}
